using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using DemoSoft.Domain.Entity;
using Microsoft.EntityFrameworkCore;

namespace DemoSoft.Infrastructure.Persistence
{
        public class DemoSoftDbContext : DbContext
    {
        public DemoSoftDbContext(DbContextOptions options) : base(options)
        {
        }

        protected override void OnModelCreating(ModelBuilder builder)
        {
            // 应用当前Assembly中定义的所有的Configurations，就不需要一个一个去写了。
            builder.ApplyConfigurationsFromAssembly(Assembly.GetExecutingAssembly());

            base.OnModelCreating(builder);
        }

        // 以下属性设置，直接设置为Set构造函数，以避免属性可能为空的警告（DbSet<Blog> Blog {get;set;}=null!)的形式也可行
        public DbSet<表名1> 表名 => Set<表名1>();
        public DbSet<表名2> 表名 => Set<表名2>();
        public DbSet<表名3> 表名 => Set<表名3>();
    }
}